package com.qf.controller;

import com.qf.entity.Admin;
import com.qf.service.AdminService;
import com.qf.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * --- 就那样---
 *
 * @author zzw
 * @date 2025/8/14
 * @desc
 */

//测试ioc技术：模拟servlet 需要service对象
    //controller类似之前得servlet，目的是接收请求做出响应
    //前提是得有web依赖
@Controller //该注解加上2个作用（明确该类是控制层代码 2 该类由spring创建对象）
public class Demo1Controller {
    /**
     * 任意定义一个方法,名字见名知意
     *  @RequestMapping("/ioc")  该注解类似于@webservlet注解，用于绑定前端请求路径
     *  该方法返回值不能写 void，其实就是对外的响应
     */

    /**
     * 使用DI自动注入  注解给属性赋值，会从spring容器中取出一个对象给该属性赋值
     */
    @Autowired
    private AdminService adminService;
    @Autowired
    private Admin admin;
    @Autowired
    private UserService userService;
    @RequestMapping("/ioc")
    public  String login(){
        System.out.println("AdminController接收请求，准备登录");
        //需要业务层处理业务逻辑
        adminService.login();
        System.out.println("业务逻辑完成登录");
        return "ok.html";//这个本质就是请求转发跳转页面
    }
    @RequestMapping("/ioc2")
    public  String login2(){
        System.out.println("AdminController接收请求，准备登录");
        //需要业务层处理业务逻辑
        adminService.login();
        System.out.println("业务逻辑完成登录");

        System.out.println("获取实体类对象"+admin);
        return "ok.html";//这个本质就是请求转发跳转页面
    }
    @RequestMapping("/aop")
    public  String show2(){
        userService.updateUser();
        return "ok.html";

    }


    //day02 MVC
    @RequestMapping(value="/mvc",method= RequestMethod.POST)//指定接收的请求方式
    public  String show1(){
        System.out.println("接收请求show1");
        return "ok.html";

    }


}